package xin.clips.system.service.gy;

import java.util.List;

import xin.clips.common.core.domain.AjaxResult;
import xin.clips.system.domain.gy.GyUserDoc;

/**
 * 用户文档Service接口
 *
 * @author clips
 * @date 2023-02-28
 */
public interface IGyUserDocService
{
    /**
     * 查询用户文档
     *
     * @param fileId 用户文档主键
     * @return 用户文档
     */
    public GyUserDoc selectGyUserDocByFileId(String fileId);

    /**
     * 查询用户文档列表
     *
     * @param gyUserDoc 用户文档
     * @return 用户文档集合
     */
    public List<GyUserDoc> selectGyUserDocList(GyUserDoc gyUserDoc);

    /**
     * 新增用户文档
     *
     * @param gyUserDoc 用户文档
     * @return 结果
     */
    public AjaxResult insertGyUserDoc(GyUserDoc gyUserDoc);

    /**
     * 修改用户文档
     *
     * @param gyUserDoc 用户文档
     * @return 结果
     */
    public int updateGyUserDoc(GyUserDoc gyUserDoc);

    /**
     * 批量删除用户文档
     *
     * @param fileIds 需要删除的用户文档主键集合
     * @return 结果
     */
    public int deleteGyUserDocByFileIds(String fileIds);

    /**
     * 删除用户文档信息
     *
     * @param fileId 用户文档主键
     * @return 结果
     */
    public int deleteGyUserDocByFileId(String fileId);


    /**
     * 查询用户文档
     *
     * @param parentId 父级文档id
     * @return 用户文档
     */
    public GyUserDoc selectGyUserDocByParentId(String parentId);


    /**
     * 根据ancestors批量获取UserDoc
     *
     * @param fileIds 需要删除的数据主键集合
     * @return 结果
     */
    public List<GyUserDoc> selectGyUserDocByFileIds(String fileIds);
}
